pp108 : Running Multiple Service Containers in a single JVM

Running Multiple Service Containers in a single JVM

This topic explains the concept of running multiple Service Containers in a single JVM.


A Service Container created on the Process Platform occupies a Java Virtual Machine (JVM). This resulted in performance issues, since the number of Service Containers running concurrently would drastically increase the number of JVMs, and hence the occupation of memory for the same.

To address this, Process Platform offers a feature of running multiple Service Containers in a single Java Virtual Machine (JVM). To enable this feature, you can create and modify OS Processes. Once these OS Processes are configured within a monitor service, they are started every time the monitor is started. Through this feature, the System Administrator can create OS Processes for the JVMs. Now, whenever a new Service Container is created, the user can specify whether the Service Container must run in a new JVM or an already existing JVM, by choosing the OS Process for the Service Container.

Note:

  • It is not advisable to configure any Service Container to run in the same JVM as the Monitor Service Container. This is because, if a Service Container crashes, for any reason, all the Service Containers running within the same JVM would also crash. Hence, it is advised that the Monitor always run in an independent JVM.
  • Suppose the classpath of an OS process is changed. To reflect the changes, all the Service Containers within the OS Process need to be stopped and started. This also means that when a Service Container is moved from one OS Process to another and the classpath settings of the Service Container are not already included in the OS Process, all the Service Containers within the OS Process need to be stopped and started.
  • Adding a new OSProcess or changing it, needs OpenText Process Suite Platform (<instance name>) restart.